<?
App::uses('AuthComponent','Controller/Component');
class User extends AppModel
{

//    var $tablePrefix = 'film_';
//    var $useTable = 'user';
//    var $primaryKey = 'u_id';
//
////    public $validate = array(
////        'u_name' => array('required' => array('rule' => array('notEmpty'), 'message' => 'You must enter a username.'),
////            'unique' => array('rule' => 'isUnique', 'message' => 'This username has already taken.'),
////            'length' => array('rule' => array('minLength', 3), 'message' => 'Your username must be at least 3 characters long.')),
////        'u_password' => array('required' => array('rule' => array('notEmpty'), 'message' => 'You must enter a password.'),
////            'length' => array('rule' => array('minLength', 6), 'message' => 'Your password must be at least 6 characters long.')),
////        'e_email' => array('email' => array('rule' => array('email'), 'message' => 'Please enter a valid email address.'),
////            'unique' => array('rule' => 'isUnique', 'message' => 'This email has already taken.')),
////        'confirm_password' => array('required' => array(
////            'rule' => array('equalTo' => 'u_password'), 'message' => 'Require the same value to password', 'on' => 'create'))
////    );
    public $validate = array(
        'username' => array('required' => array('rule' => array('notEmpty'), 'message' => 'Bạn phải chọn một tài khoản!')
        , 'unique' => array('rule' => 'isUnique', 'message' => 'Tài khoản này đã có người sử dụng!')
        , 'length' => array('rule' => array('minLength', 3), 'message' => 'Tài khoản phải có ít nhất 3 ký tự!')
        ),
        'email' => array('email' => array('rule' => array('email'), 'message' => 'Email không đúng!'),
            'required' => array('rule' => array('notEmpty'), 'message' => 'Bạn phải điền email!'),
            'unique' => array('rule' => 'isUnique', 'message' => 'Email này đã có người sử dụng!')
        ),
        'password' => array('required' => array('rule' => 'notEmpty', 'message' => 'Hãy điền mật khẩu!'),
            'length' => array('rule' => array('minLength', 6), 'message' => 'Mật khẩu phải có ít nhất 6 kí tự!')),
        'confirm_password' => array('identicalFieldValues' => array('rule' => array('identicalFieldValues', 'password'), 'message' => 'Xin hãy xác nhận lại mật khẩu'))
    );

    function identicalFieldValues($field = array(), $compare_field = null)
    {
        foreach ($field as $key => $value) {
            $v1 = $value;
            $v2 = $this->data[$this->name][$compare_field];
            if ($v1 !== $v2) {
                return FALSE;
            } else {
                continue;
            }
        }
        return TRUE;
    }

    function beforeSave($options = array())
    {
        $this->data['User']['password'] = AuthComponent::password($this->data['User']['password'],'md5',true);
        unset($this->data['User']['confirm_password']);
        return true;
    }
}

?>